home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / docs / misc / amigapl.9805.lzh / log.9805 / text0817.txt < prev    next >
Encoding:
Text File  |  1998-06-01  |  1.5 KB  |  34 lines

  1. On Thu, 28 May 1998, Grzegorz Kraszewski wrote:
  2.  
  3. > A co do bezsensowno¶ci pisania takich programów w C (jak napisa³ Kamil
  4. > Iskra) - dlaczego? Mo¿e Aleksander pisze demo? Nawet demko wygodzniej siê
  5. > pisze w jêzyku wysokopoziomowym, a nie ma ono obowi±zku byæ kompatybilne z
  6. > nowymi modelami.
  7.  
  8. Zgadzam siê z Twoim rozumowaniem, ale mnie chodzi³o o co¶ innego.
  9.  
  10. Co by nie mówiæ, to C jest jêzykiem wysokopoziomowym. W standardzie jest
  11. zapisane, ¿e wykonywany program zachowuje siê tak, JAKBY wykonywa³
  12. zapisany w kodzie ¼ród³owym algorytm. To "jakby" oznacza, ¿e kompilator
  13. mo¿e robiæ takie cuda, jak mu siê tylko podoba, dopóki z poziomu programu
  14. nie widaæ ró¿nicy. A wiêc mo¿e np. wykonywaæ referencje do pamiêci nie
  15. wtedy, kiedy my tego chcemy, tylko kiedy jemu wygodnie. Mo¿e nawet
  16. referencje zamieniæ miejscami, je¿eli ma taki humor. Albo przy zapisie
  17. do pamiêci mo¿e sobie poprzedni± warto¶æ najpierw odczytaæ - ot, tak
  18. sobie.
  19.  
  20. Problemy zaczynaj± siê przy zabawach z hardware'em. Wiadomo, ¿e z
  21. rejestrami trzeba siê obchodziæ jak z jajkiem i wy¿ej opisane numery
  22. raczej nie wychodz± na zdrowie. Dlatego uwa¿am, ¿e C nie bardzo siê do
  23. tego nadaje i lepiej waln±æ ma³± wstawkê w asemblerze.
  24.  
  25. Faktem jest, ¿e kwalifikator "volatile" usuwa wiêkszo¶æ z tych problemów,
  26. jak to kto¶ (Krzysztof Rudnik?) zauwa¿y³.
  27.  
  28. / Kamil Iskra    AmigaOS  Linux/i386  Linux/m68k               \
  29. | GeekGadgets GCC maintainer   UNIX system administrator       |
  30. | iskra@student.uci.agh.edu.pl  kiskra@ernie.icslab.agh.edu.pl |
  31. \ kamil@dwd.interkom.pl   http://student.uci.agh.edu.pl/~iskra /
  32.  
  33.  
  34.